package com.yidu.action;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.annotation.Resource;

import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.action.vo.TreeNode;

import com.yidu.comment.Page;

import com.yidu.model.SnComType;

import com.yidu.model.SnUser;

import com.yidu.service.SnComTypeService;

/**
 * 商品类型表action
 * @author gomgjie
 * @date 2018年11月27日 下午11:30:22
 */
@Controller
@RequestMapping("/comtype")
public class SnComTypeAction {
	/**
	 * 注入商品service
	 */
	@Resource
	SnComTypeService comTypeService;
	
	/**
	 * 查询所有
	 * @return 商品类型model集合
	 */
	@RequestMapping("queryAll")
	@ResponseBody
	public Map<String, Object>query(String page,String limit,SnComType type){
				//得到分页工具类
				Page pages=new Page();
				//将数据封装
				pages.setCurPage(Integer.valueOf(page));
				pages.setRows(Integer.valueOf(limit));
				
				//创建一个map对象
				Map<String, Object> maps=new HashMap<>();
				//给行数赋值
				maps.put("pageks", pages.getStartRows());
				//给总行数赋值
				maps.put("pagejs", pages.getRows());
				//给自关联零食类型赋值
				maps.put("typeId", type.getSnTypeId());
				//调用条件查询的方法
				List<SnComType> list=comTypeService.queryAll(maps); 
				int count = comTypeService.findCount(maps);
				//创建一个map
				Map<String, Object> map = new HashMap<>();
				map.put("code", 0);
				map.put("msg", 0);
				map.put("count", count);
				//将list放入map中
				map.put("data", list);
				return map;
	}
	
	/**
	 * 根据Id查询类型
	 * @param typeId   类型id
	 * @return comType 类型对象
	 */
	@RequestMapping("/findById")
	@ResponseBody
	public SnComType findById(String typeId){
		return comTypeService.selectByPrimaryKey(typeId);
	}
	
	/**
	 * 增加或修改
	 * @param snModule	模块Bean对象
	 * @return	行数
	 */
	@RequestMapping("addOrUpdate")
	@ResponseBody
	public int addOrUpdate(SnComType comType,HttpSession session){
		//用户名字存储在session中
		SnUser user=(SnUser) session.getAttribute("user");
		//添加数据为可用
		comType.setIsva(1);
		//通过session获取名字
		comType.setOper(user.getUserName());
		return comTypeService.addOrUpdate(comType);
	}
	
	/**
	 * 删除类型
	 * @param typeId 类型ID
	 * @return message 信息类对象
	 */
	@RequestMapping("delete")
	@ResponseBody
	public int delete(String typeId){
		//调用根据id查询的方法
		SnComType comType = comTypeService.selectByPrimaryKey(typeId);
		//修改数据为不可用
		comType.setIsva(0);
		//调用修改的方法
		int row = comTypeService.updateByPrimaryKeySelective(comType);
		//返回行数
		return row;
	}
	
	/**
	 * 查询所有
	 * @return
	 */
	@RequestMapping("query")
	@ResponseBody
	public List<SnComType> query() {
		return comTypeService.query();
	}
	
}